1. Field of the Invention
The present invention relates to a data communication networks connected by gateways and more particularly (in some preferred embodiments (see DEFINITIONS section) to a gateway connecting a connection-based wide area network (“WAN”) to a connectionless local area network (“LAN”).
2. Description of the Related Art
Two conventional types of data communication networks are: (i) connection-based; and (ii) connectionless. Often, but not necessarily, WANs are connectionless. Often, but not necessarily, LANs are connection based. Conventionally, a computer or set of computers, called a gateway, can be used to pass communications in both directions between a connectionless network and a connection based network. Some conventional connection oriented WAN protocols include SONET, ATM, and DSC. Two conventional connectionless protocols are TCP and UDP.
When data is sent from a sender computer to a receiver computer, it will conventionally go through a series of networks. For example, the data may be sent first through a connectionless LAN (the sender-side LAN), and then through a connection-oriented WAN, and then through another connectionless LAN (the receiver side LAN) before reaching the receiver computer. Along the way, the data is generally bundled with other data as it travels away from the sender computer, and then unbundled again as it gets toward the receiver computer. To illustrate this bundling and unbundling of data, an exemplary data transfer will now be described: (i) the data travels from the sender computer and through the sender side LAN in a connectionless manner in the form of an individual packet which is not bundled together and/or bundled with other data packets from other senders; (ii) as the packet leaves the sender side LAN to enter the WAN, it is bundled into a multiple packet data unit (MPDU) with other data packets from the same sender and/or from other senders; (iii) the MPDU then travels through the WAN in a connection oriented manner; (iv) as the MPDU leaves the WAN to enter the receiver side LAN it is unbundled back into a multiplicity of individual packets, including the packet being followed with attention in this example; (v) the packet then travels through the receiver side LAN in a connectionless manner to arrive at the receiver side computer. Sometimes the bundling and unbundling is more complex. For example, lower level MPDUs may be hierarchically aggregated into higher level MPDUs. As a further example, there may be additional WANs and/or LANs through which the packet travels at various levels of multiple packet bundling.
Somewhat related to this idea of packet bundling into MPDUs is the idea of layers of network protocol information. For example, conventional Open System Interconnection data (“OSI data”) is conventionally communicated over WANs. Conventional OSI data has seven layers of network protocol information which will now be discussed in the following seven paragraphs, which discussion proceeds from the “lowest level” network protocol layer to the “highest level” network protocol layer.
(1) PHYSICAL LAYER DATA. The Physical Layer provide required information regarding electrical and physical specifications for devices, specifically the relationship between a device and a physical medium. For example, this may include the layout of pins, voltages, cable specifications, hubs, repeaters, network adapters, Host Bus Adapters (HBAs used in Storage Area Networks) and so on. The Physical Layer data indicates to a device how to transmit to the medium, and indicates to another device how to receive from it (in most cases it does indicate to the devices how to connect to the medium). Some Physical Layer protocols and/or standards include: RS-232; V.35; V.34; I.430; I.431; T1; E1; 802.3 Ethernet; 10BASE-T; 100 BASE-TX; POTS; SONET; DSL; 802.11a/b/g/n PHY; and ITU-T G.hn PHY. Data communication devices of the type that conventionally operate at the Physical Layer will herein be called “physical layer devices.”
(2) DATA LINK LAYER DATA. The Data Link Layer data provides the information required to transfer data between network entities. The Data Link Layer data may also provide information required to detect and/or correct errors that may occur in the Physical Layer. The Data Link Layer was initially intended for point-to-point and point-to-multipoint media, characteristic of certain telephone system networks. Because of the way Local area network (“LAN”) architecture developed historically, the Data Link Layer is not always used very extensively in LANs, but it is often used in WANs. Some Data Link Layer protocols and/or standards include: ARP; CSLIP; SLIP; Frame Relay; and ITU-T G.hn DLL. Data communication devices of the type that conventionally operate at layers going down to the Data Link layer will herein be called “data link layer devices.” Physical Layer devices and Data Link layer devices will herein be collectively called “low level devices.” Physical Layer network protocol data and Data Link Layer network protocol data will herein be collectively called “low level network protocol data.”
(3) NETWORK LAYER DATA. The Network Layer data provides the information required to communicate variable length data sequences from a source to a destination over one or more networks, while maintaining the appropriate quality of service. The Network Layer data provides the information required to perform network routing functions. The Network Layer data may also provide the data required to perform fragmentation and reassembly, and to report delivery errors. Routers typically operate at the Network Layer. Some Network Layer protocols and/or standards include: IP; ICMP; IPsec; and IGMP. Data communication devices of the type that conventionally operate at layers going down to the Network Layer will herein be called “network layer devices.”
(4) TRANSPORT LAYER DATA. The Transport Layer data provides information required for transparent transfer of data between end users and for providing reliable data transfer services to the upper layers. The Transport Layer data provides information used to control the reliability of a given link through flow control, segmentation/desegmentation, and/or error control. Transport Layer Data also includes source information data (for example, a source IP header) and destination information data (for example, a destination IP header). Some Transport Layer protocols and/or standards include: TCP; UDP; PPTP; L2TP; and SCTP. Data communication devices of the type that conventionally operate at layers going down to the Transport Layer will herein be called “transport layer devices.”
(5) SESSION LAYER DATA. The Session Layer data provides information required to controls the dialogues (or connections) between computers. The Session Layer data provides information required to establish, manage and terminate the connections between the local and remote application. Some Session Layer protocols and/or standards include: Named Pipes; NetBIOS; and SAP. Data communication devices of the type that conventionally operate at layers going down to the Session Layer will herein be called “session layer devices.”
(6) PRESENTATION LAYER DATA. The Presentation Layer data provides the information required to establish a context between Application Layer entities, in which the higher-layer entities can use different syntax and semantics, as long as the Presentation Service understands both and the mapping between them. The presentation service data units are then encapsulated into Session Protocol Data Units, and moved down the stack. Some Presentation Layer protocols and/or standards include: MIME; XDR; SSL; and TLS. Data communication devices of the type that conventionally operate at layers going down to the Presentation Layer will herein be called “presentation layer devices.”
(7) APPLICATION LAYER DATA. The Application Layer is the OSI layer closest to the end user. This means that both the user and the Application Layer interact directly with the software application. The Application Layer interacts with software applications that implement a communicating component. Such application programs are outside of the scope of the OSI model. The Application Layer Data provides information required to identify communication partners, determine resource availability, and synchronize communication. Some Application Layer protocols and/or standards include: NNTP; SIP; SSI; DNS; FTP; Gopher; HTTP; NFS; NTP; SMPP; SMTP; SNMP; and Telnet. Data communication devices of the type that conventionally operate at layers going down to the Application Layer will herein be called “application layer devices.” Network Layer devices, Transport Layer devices, Session Layer devices, Presentation Layer devices and Application Layer devices will herein be collectively called “high level devices.” Network Layer network protocol data, Transport Layer network protocol data, Session Layer network protocol data, Presentation Layer network protocol data and Application Layer network protocol data will herein be collectively called “high level network protocol data.”
Above the highest level of network protocol information itself is the substantive data itself, which is herein referred to as the payload. Now, a single, indivisible packet of data, sent from a particular sender computer to a particular receiver computer will typically include high level network protocol data. For example, an individual packet sent according to TCP/IP protocol will include in its header network protocol data at all of the following layers: (i) Network Layer; (ii) Transport Layer; (iii) Session Layer; (iv) Presentation Layer; and (v) Application Layer. However, when that packet is bundled with other packets into an MPDU, then the header of the MPDU will typically include additional low level network protocol data. More specifically, conventionally the MPDU includes a map of where the high level protocol is packed. In some instances it will keep “switching” information that speeds end to end flow. Some processes aim to optimize service by “sorting” relevant “pieces” from layers in a streamlined fashion.
Returning to the above example of a packet transfer, attention is draw to the above-mentioned step where the MPDU leaves the WAN to enter the receiver side LAN and is unbundled back into a multiplicity of individual packets. At this step, in conventional gateways, the network protocol information in the MPDU header is effectively discarded and lost as part of the unbundling of the MPDU into individual packets (or, in other network configurations into smaller MPDUs). The exact information that is expected to be, and generally is, discarded (or shed) at the WAN-to-LAN gateway will depend upon the specific WAN and/or LAN architectures being used, but in many, or perhaps most, conventional networks, it is only the MPDU header that is shed as the MPDU is broken down into smaller MPDUs or into packets.
The above described OSI reference model, set forth above and also in ISO 7948, is helpful background for understanding the operation of some embodiments of the present invention as will be discussed below in following sections of this document. However, it should be pointed out that not all networks have the relatively rigid and granular OSI type layering described above. For example, one frequently referenced document, RFC 1958, which deals with an alternative approach to network communications, does not contain a stack of layers at all. RFC 1122, a document relating to host requirements loosely defines a four-layer model, with the layers having names, not numbers, as follows: Application (process-to-process) Layer; Transport (host-to-host) Layer; Internet (internetworking) Layer; and Link Layer: It is also helpful to understand that some network protocol information (now existing or to be developed in the future) may not structured in the form of ordered layers, and some network protocol may not have a layered structure at all. This is helpful background for the present invention, because some embodiments of the present invention may be applied to network communications having: (i) no layers at all; (ii) having layers, but layers not ordered from lowest to highest; or (iii) having ordered layers which are different in number and/or kind from the OSI layer model for network protocol data set forth above.
U.S. Pat. No. 7,020,783 (“Vange 1”) discloses a data communication network including a system for handling denial of service attacks. More specifically, FIG. 3 of Vange 1 shows a network 101 with equipment 201, 203, 212 for preventing denial of service attacks. As Vange 1 is understood, network 101 is a Network Layer network or a Transport Layer network, which means that network 101 is a high level network. Network 101 is a connection oriented network.
U.S. Pat. No. 6,990,531 (Vange 2″) discloses systems and methods for prioritizing data traffic over a shared bandwidth connection. The systems and methods of Vange 2 are implemented in the “last mile” and not at a cloud edge.
Prior art publications which may be of interest may include: (i) US published patent application 2009/0077668 (“Noghanian 1”); and (ii) US published patent application 2003/0126467 (“Noghanian 2”).
Description Of the Related Art Section Disclaimer: To the extent that specific publications are discussed above in this Description of the Related Art Section, these discussions should not be taken as an admission that the discussed publications (for example, published patents) are prior art for patent law purposes. For example, some or all of the discussed publications may not be sufficiently early in time, may not reflect subject matter developed early enough in time and/or may not be sufficiently enabling so as to amount to prior art for patent law purposes. To the extent that specific publications are discussed above in this Description of the Related Art Section, they are all hereby incorporated by reference into this document in their respective entirety(ies).